1. Field of the Invention
The present invention relates a method and apparatus for processing order control, and particularly to a method and apparatus by which optimization is achieved of a physical flow of lots each configured by a group of wafers in a semiconductor fabrication line.
2. Description of Related Art
First, descriptions will be given of constituents associated with a physical flow of lots (hereinafter referred to as a lot flow) and of workings of the constituents using FIG. 32, which is a schematic illustration of a semiconductor fabrication line. Following this, descriptions will be given of constituents of a production control system, which is an apparatus to control a lot flow, and of workings of the constituents using FIGS. 33 and 34. Finally, description will be given of a flow chart of a control method for a lot flow using FIG. 35.
FIG. 32 shows a schematic illustration of a semiconductor fabrication line. In FIG. 32, a symbol 100 denotes a server computer of a production control system (hereinafter referred to as a server). The server means to receive a request and an instruction from a client computer (hereinafter referred to as a client) and basically to transmit neither a request nor an instruction to a client. A symbol 20 denotes communication cables connecting between the constituents, and symbols 30a to 30e client computers (hereinafter referred to as PCs; a digit or a letter 1, i, l, k and l following the abbreviation PC denote serial numbers). Symbols 40, 40a to 40d denote fabrication apparatuses for a semiconductor device, an inspection instrument or the like. For example, Stepper, CMP (Chemical Mechanical Polishing), CVD (Chemical Vapor Deposition) or Etcher are names directly showing features of semiconductor fabrication methods, respectively, which are adopted as names of a fabrication apparatus or an inspection instrument each without any modification. While there are available various other fabrication apparatuses, typical kinds among them are selected herein. Stepper m means the mth one among a plurality of steppers. This also applies to cases of CPMn, CVD0 and Etcher p. Symbols 50, 50a and 50b denote a lot A or/and a lot B, respectively, each of which lots includes a plurality of silicon wafers that serve as substrates of semiconductor products. The lot A (50a) and lot B (50b) denote that those are lots to which respective different fabrication methods are applied. In a case where the lots are subjected to the same fabrication method, those are different in fabrication position in the fabrication line in which fabrication methods are applied. A symbol 46 denotes a transport route running along the fabrication methods; a symbol 60 an operator carrying out transportation of a lot 50 or the like in the semiconductor fabrication line; 70 a carrier for a lot 50, serving mainly for transportation over a short distance; and 80 an inter-bay transport system, serving mainly for transportation over a long distance. The term xe2x80x9cbayxe2x80x9d used here means a region where apparatuses 40a of the same kind form a group and for example, a bay is used in a way of expression such as a bay in which steppers reside.
Then, a flow of the lot A (50a) will be described. The operator 60 or the lot carrier 70 transports the lot A (50a) to Stepper m (40a) and sets the lot A (50a) at a processing position. After processing conditions are input to Stepper m (40a) and the processing is completed, the operator 60 or the lot carrier 70 transfers the lot A (50a) to the inter-bay transport system 80. The inter-bay transport system 80 transports the lot A (50a) to the bay of Etcher p (40d). The operator 60 or the lot carrier 70 receives the lot A (50a) from the inter-bay transport system 80 and transports the lot A (50a) to Etcher p (40d) to set the lot A (50a) at a processing position. Thereafter, description is omitted since that of Stepper m is duplicated. Such processings and transportations are repeated till completion of all the fabrication process of the lot A (50a). Description of a case of the lot B (50b ) is also omitted since description is repeated in the same way except for a transport pattern.
FIG. 33 shows internal constitution of the production management system of production control system (server) 100, the client 30 and others of FIG. 32. In FIG. 33, a symbol 110 denotes a data base in the server 100 and the interior is configured in the following way: A symbol 120 or 130 stores process flow data of respective lots 50 therein. The term xe2x80x9cprocess flowxe2x80x9d means data in which fabrication orders and processing conditions are defined and which includes the entire information and a plurality of process step groups. The entire information includes information on all of the lots 50 such as lot numbers. Other information such as product kind codes and delivery times is further included in the entire information, but details of the other information are omitted. A given process has a serial number showing a place in the order of processes, the name of an apparatus 40 or the like in which a processing is carried out and progress states of a process showing processing-completed, in-process or not-processed, respectively, wherein the term xe2x80x9cin-processxe2x80x9d means a state in which a work awaits its turn. In addition, the process has processing conditions, specified date and time for start or end of the process and so on, but the details are omitted. There are a plurality of process flow files: for example, a process flow file 120 used for the lot A and a process flow file 130 used for the lot B.
Symbols 140 and 150 denote in-process work management files in which data for in-process management for apparatuses 40 and so on is stored and the data for the in-process work management files include a plurality of lot numbers in process of the apparatuses 40 and the numbers of the lots in process thereof. Since the apparatuses 40 are present in plural number, for example, the in-process management files 140 and 150 are used for Etchers p and CVDo, respectively.
Symbols 160 and 170 denote processing history files in which data of processing histories of the lots 50 in the respective apparatuses 40 is stored and a data of one record is input in the file each time a lot 50 is processed in one of the apparatuses 40. Items of a record include: specified dates and times (while there is also a specified date and time for start or end of a processing, only the date and time for end of a processing is shown for each lot in FIG. 32); lot numbers; times (durations from start to end of processing) and others. Although the items of a record further include processing conditions and information on a person in charge of processing and so on, details of the items are omitted. Since the apparatuses 40 or the like are present in plural number, for example, the processing history files 160 and 170 are used for Etcher p and CVDo, respectively.
A symbol 180 denotes a computation section performing input/output processings of data with the data base 110 or processing/computation of data in the server 100, a symbol 190 denotes a communication section, 30e1 a communication section in PC1 (30d), and 30e2 a computation section performing processing/computation of data in PC1 (30d). The communication sections 190 and 30e2 both control transmission/reception of data between the computation sections 180 and 30e2. A symbol 30e3 is a display section in PC1 (30d) and displays a data processed/computed in the computation section 30e2. The data to be displayed includes set-up information for Etcher p in a file 30e31, a special command in a file 30e32 or the like, both to be described later. The set-up information of Etcher p 30e31 includes lot numbers, priority numbers each to determine the processing order, the number of wafers and so on. Although the set-up information further includes processing conditions, specified dates and times for in-process works and so on, details of the information are omitted. The special command file 30e32 includes names of the apparatuses 40 and ways of lot flow in which processing of the lot 50 or the like to reach the apparatuses 40 or the like is stopped and the lot 50 or the like is forced to wait its turn at the process where the processing is stopped, and in which the lot 50 or the like is ascended in the order of processing to reach its destination earlier. A symbol 30e4 denotes an input section incorporated in PC1 (30d) which controls inputting of a person in charge when a process gets started or an inspection result.
FIG. 34 describes workings of the production control system 100 shown in FIG. 33 using a flow chart, taking up a case where one process is progressed as an example. The term xe2x80x9cis progressedxe2x80x9d means to complete the processing. As shown in FIG. 34, a data of completion of processing in Etcher p (40d), for example, in the 96th process (123) of the lot A (50a) is first transmitted from the input section 30e4 of PC1 (30d) through the computation section 30e2 of PC1 (30d), communication section 30e1 of PC1 (30d) and the communication section 190 of the server 100 to the computation section 180 of the server 100 (step S100). The computation section 190 of the server 100 that has received the data accesses to the data base 110 and changes xe2x80x9cin-processxe2x80x9d of Etcher p (40d) into xe2x80x9cprocessing-completedxe2x80x9d thereof in the 96th process (123) of the process flow file 120 for the lot A (50a) (step S102). The computation section 180 of the server accesses to the data base 110 and deletes the lot A (142) from in-process lot numbers of the in-process management file 140 for Etcher p (40d). The counter 146 for the number of in-process lots is decreased by one from 13 to 12 (step S104). The computation section 180 of the server accesses to the data base 110 and extracts process information from the corresponding process flow file 120 with a lot number of the in-process management file 140 for Etcher p (40d) as key. The extracted data group constitutes the latest information in the set-up information file 30e31 for Etcher p (40d) (step S106). The computation section 30e2 of PC1 (30d) requests transmission of the latest data of set-up information in the set-up information file 30e31 from the computation section 180 of the server 100 (step S108). The computation section 30e2 of PC1 (30d) rearranges the set-up information in the set-up information file 30e31 for Etcher p (40d) which has received from the computation section 180 of the server so as to be in the ascending order of an in-process position greater than a priority order greater than an in-process data and time (step S110). The term xe2x80x9cin-process positionxe2x80x9d means to determine such that a case where a lot is currently in process of one of the apparatuses 40 or the like is a lot xe2x80x980 process earlierxe2x80x99 and a case where a lot is in the previous first process of the one of the apparatuses 40 or the like is a lot xe2x80x981 process earlier.xe2x80x99 The term xe2x80x9cascending orderxe2x80x9d means to sort lots based on in-process positions so as to be in the order of xe2x80x980 process earlier,xe2x80x99 xe2x80x981 process earlierxe2x80x99 and xe2x80x982 process earlierxe2x80x99 starting with the xe2x80x980 process earlierxe2x80x99 with increase in in-process position. With the above procedure, the in-process position of lot A (50a) moves from Etcher p (40d) in the 96th process (123) to the CVDo in the 97th process (124). Then, a similar procedure is performed on the CVDo (40c) in program flow from step S112 to step S120.
The computation section 190 of the server 100 changes xe2x80x9cnot-processedxe2x80x9d of the CVDo in the next process (124) of the process flow file 120 for the lot A (50a)to xe2x80x9cin-processxe2x80x9d thereof (step S112). The computation section 180 of the server accesses the data base 110 and adds the lot A (142) into in-process lot numbers in the in-process management file 150 for CVDo (40e). The counter 156 for the number of in-process lots is incremented by 1 from 3 to 4 (step S114). The computation section 180 of the server accesses the data base and extracts process information from the corresponding process flow file 130 with a lot number in the in-process management file 150 for CDVo as key. The extracted data group is the latest set-up information for CVDo (40e) (step S116). The computation section 30e2 of the PCk (30c) requests transmission of the latest data of set-up information for CVDo (40e) from the computation section 180 of the server 100 (step S118). The computation section of the PCk (30c) rearranges the set-up information file 30e31 for CVDo (40e) which has received from the computation section 180 of the server so as to be in the ascending order of an in-process position greater than a priority order greater than an in-process date and time (step S120).
Description will be made of an optimization method for a lot flow in in-process management of the lot 50 or the like as described above using FIG. 35. FIG. 35 shows a flow chart for a conventional lot flow control computation. As shown in FIG. 35, the flow chart is divided into three regions in a broad sense: a target determination region for a first one (step S200), a judgment region for a second one (steps S202, S204 and S206) and a lot flow instruction region for a third one (steps S208, S210, S212 and S214). First, as shown by a graph in the target determination region (step S200), a target value for the number of processing lots per day of the apparatus 50 or the like is obtained. To be more detailed, movement of the number of processing lots per each day through one month in the apparatus 50 or the like is recorded. For example, the movement of the number of processing lots per each day can be obtained by extracting data from the processing history file 160 for Etcher p (40d). The numbers of processed lots per day included in the upper 5 places are selected from the list obtained by sorting data of the movement of the numbers of processing lots per day in the ascending order of the number of processing lots, and the average of the 5 numbers is obtained and adopted as the target value, which is updated once per month.
The judgment region includes three judgment conditions (steps S202, S204 and S206). First, it is judged whether of not the number of processing lots on the previous day (track record) exceeds the target value (step S202). If the track record is judged to exceed the target value, program flow goes to step S204, while if judged not to exceed, program flow goes to step S206. At step S204, it is judged whether or not the number of in-process lots is less than the number m of lots in excessive supply, which is arbitrarily set. If the number of in-process lots is judged to be less than the number m of lots in excessive supply, program flow goes to step S208, while judged not to be less than the number m, program flow goes to step S210. On the other hand, at step S206, it is judged whether or not the number of in-process lots is less than the number n of lots in short supply, which is arbitrarily set. If the number of in-process lots is judged to be less than the number n of lots in short supply, program flow goes to step S212, while if judged not to be less the number n, program flow goes to step S214.
The lot flow instruction region includes four kinds of instructions (steps S208, S210, S212 and S214). At step S206, there is shown the order of lot processing in a case where there is no special problem in a lot flow. To be concrete, lots are sorted so as to be in the ascending order of an in-process position greater than a priority order greater than an in-process date and time and processing is performed from the lot 50 or the like in the top place in the order. What is to be considered in connection with the in-process date and time is that a method of first-in first-out (FIFO) is adopted. At step S210, a special instruction is issued to stop the lot 50 or the like which would otherwise flow into one of the apparatuses 40 in a later process since in-process lots are in excessive supply for the one of the apparatuses 40 in the later process. At step S212, the situation is reverse from step S210 and a special instruction is issued to force the lot 50 or the like to flow quickly since in-process lots are in short supply. At step S214, a special instruction is issued to investigate a cause for delay in lot processing and restore the current lot processing state to normal, since the lot processing has been delayed for the cause.
A conventional lot flow control method has had two problems since the method has a configuration as described above. The special instructions (at steps S210 and S212) are issued to all of PC30 and others and PC 30 and others reexamine the processing order of the lot 50 or the like according to the special instructions (at steps S210 and S212). The term xe2x80x9creexaminexe2x80x9d means that after investigating the subsequent processes (for example, 5 processes) of the lot 50 and others, if there is an apparatus 40 or the like corresponding to any of the special instructions (at steps S210 and S212), a place of the lot 50 or the like in the processing order is changed. Since there were no clear rules in the reexamination procedure in the prior art and in addition, such a procedure was conducted by a human hand, there was a problem that the reexamination work was a considerably heavy load. Furthermore, in a case where the special instructions (at steps S210 and S212) are issued, a problem has still been left unsolved since there arises a state where a lot 50 or the like is quickly processed, but another lot 50 stops in sudden, and therefore, all of the lot flow gets into a situation like a behavior of an aircraft in an air turbulence, making a delivery schedule or the like very hard to plan and carry out.
As an example of a lot flow control, a method is available, in which, as disclosed in Japanese Patent Laid-Open No. Hei 3-290703, part of lots already in process on an apparatus is redistributed on another apparatus or over other apparatuses in proportion to processing capacities of apparatuses to improve an efficiency of the lot flow. The above described methods are effective to relieve an already degraded lot flow state like a traffic congestion where as a result of concentration of lots onto a specific apparatus, a long time is required for each lot to pass through the apparatus. However, a problem has still remained since the methods are not effective for a preliminarily preventive measure for degradation of lot flow.
It is accordingly an objective of the present invention, which has been made in order to solve the above described problems, is to provide a method and apparatus for processing order control by which a load of an examination work as shown in each of the instructions (at steps S210 and S212) is reduced in which the processing order of the lots 50 is reviewed based on processing capacities of the apparatuses 40 or the like and each of the numbers of in-process lots 50 or the like.
It is another objective of the present invention to provide a method and apparatus for processing order control by which all of the lot flow is rectified to a state in which lots do not move as if an aircraft is in an air turbulence but move at an almost constant rate like a steady flow to increase an accuracy in scheduling deliveries and so on.
It is still another objective of the present invention to provide a method and apparatus for processing order control by which degradation of a lot flow can be prevented in advance.
According to a first aspect of the present invention, there is provided a processing order control method for controlling an order in processing that processing objects receive from a processing apparatus, respectively, comprising the steps of a processing waiting time computing of obtaining a processing waiting time per process by dividing a total processing waiting time during which a processing object is placed in a processing waiting state where the processing object awaits processings given by the processing apparatuses in a predetermined time, by the number of processing processes that the processing object receives in the predetermined time; an average processing time computing of obtaining an average processing time per process per processing object for a processing apparatus by dividing a total processing time spent for processings that the processing objects receive from the processing apparatus, by the number of processing processes and by the number of processing objects; a number of waiting processing objects computing of obtaining a proper number of waiting processing objects that receive processings in a processing apparatus by dividing the processing waiting time per process obtained by the step of the processing waiting time computing, by the average processing time per process per processing object for the processing apparatus obtained by the step of the average processing time computing; and a control of conducting control to equalize an actual number of processing waiting objects that receive processings in a processing apparatus with a proper number of waiting processing objects obtained by the step of the number of waiting processing objects computing which processing objects receive processings in the processing apparatus.
According to a second aspect of the present invention, there is provided a processing order control apparatus having processing objects and a processing apparatus that process the processing objects, comprising: processing waiting time computing means for obtaining a processing waiting time per process by dividing a total processing waiting time during which a processing object is placed in a processing waiting state where the processing object awaits processings given by the processing apparatuses in a predetermined time, by the number of processing processes that the processing object receives in the predetermined time; average processing time computing means for obtaining an average processing time per process per processing object for a processing apparatus by dividing a total processing time spent for processings that the processing objects receive from the processing apparatus, by the number of processing processes and by the number of processing objects; the number of waiting processing objects computing means for obtaining a proper number of waiting processing objects that receive processings in a processing apparatus by dividing the processing waiting time per process obtained by the processing waiting time computing means, by the average processing time per process per processing object for the processing apparatus obtained by the average processing time computing means; and control means for conducting control to equalize an actual number of processing waiting objects that receive processings in a processing apparatus with a proper number of waiting processing objects obtained by the number of waiting processing objects computing means which processing objects receive processings in the processing apparatus.
The above and other objects, effects, features and advantages of the present invention will become more apparent from the following description of the embodiments thereof taken in conjunction with the accompanying drawings.